package part11;

import java.util.Iterator;

/**
 * @author wcj
 * @Date 2021/5/20 18:47
 * @Version 1.0
 */
public class Part1114 implements Iterable<String> {

    protected String[] words = ("i'm god you need trust me!").split(" ");

    @Override
    public Iterator<String> iterator() {
        return new Iterator<String>() {

            private int index = 0;

            @Override
            public boolean hasNext() {
                return index < words.length;
            }

            @Override
            public String next() {
                return words[index++];
            }
        };
    }

    /**
     * foreach和迭代器，实际上现在基本所有的Collection都能使用foreach是因为JDK5添加了Iterable接口
     * 这个接口提供了一个方法用来生成iterator对象，所以所有实现Iterable接口的类都能使用foreach循环
     *
     * @param args
     */
    public static void main(String[] args) {
        for (String s : new Part1114()) {
            System.out.println(s);
        }
    }
}
